#ifndef GLOBALSTATE_H
#define GLOBALSTATE_H

#include "stm32f0xx.h"

// 定义按键结构体
typedef struct
{
    volatile uint8_t status;      // 按键当前状态：0-未按下，1-按下
    volatile uint8_t event;       // 按键事件：0-无事件，1-按下事件
    volatile uint8_t long_press;  // 长按状态：0-非长按，1-长按
    volatile uint32_t press_time; // 按下时间计数
} Button_t;

// 定义一个枚举来表示系统模式
typedef enum
{
    MODE_IDLE,
    MODE_RUNNING,
    MODE_ERROR,
    // 其他模式...
} SystemMode;

// 定义一个结构体来保存全局状态
typedef struct
{
    volatile SystemMode systemMode;      // 系统当前模式
    volatile uint8_t currentPage;        // 当前页面
    volatile uint32_t lastUpdateTime;    // 最后一次更新时间戳
    volatile uint8_t display_mod;        // display_mod:0,反白显示;1,正常显示
    volatile uint8_t display_onoff;      //: 0,关;1,开
    volatile uint8_t display_onoff_last; // 上一次:0,关;1,开
    // 添加其他需要的全局状态变量...
} GlobalStatus;

// 声明全局状态实例
extern GlobalStatus globalStatus;

// 声明按键实例
extern Button_t button1;
extern Button_t button2;
extern Button_t button3;
extern Button_t button4;
extern Button_t button5;
extern Button_t button6;

#endif // GLOBALSTATE_H